Translating Java bytecode to X86 assembly code
نویسندگان
چکیده
ABSTRACT Java has become one of the most popular languages for network applications. The main drawback of Java is concerned with the execution speed due to interpreted execution. We implemented a translation system that converts Java bytecode to X86 assembly code. The main approach of our translation system is that objects are still created and manipulated inside the (run-time) Java virtual machine. Other ordinary operations are translated into assembly code. Some pattern-based optimizations are applied during the translation process. Faster execution of Java programs will certainly make Java more attractive to network applications.Java has become one of the most popular languages for network applications. The main drawback of Java is concerned with the execution speed due to interpreted execution. We implemented a translation system that converts Java bytecode to X86 assembly code. The main approach of our translation system is that objects are still created and manipulated inside the (run-time) Java virtual machine. Other ordinary operations are translated into assembly code. Some pattern-based optimizations are applied during the translation process. Faster execution of Java programs will certainly make Java more attractive to network applications.
منابع مشابه
Using NET to Capture Performance in Java-Based Software
The Java bytecode language is emerging as a software distribution standard, with major vendors committed to porting the Java run-time environment to their platforms. These first generation run-time environments rely on an interpreter, possibly extended with capabilities to cache native code for reduced interpreter overhead, to bridge the gap between the bytecode instructions and the native hard...
متن کاملSelf-validating Branch-Based Software Watermarking
Software protection is an area of active research in which a variety of techniques have been developed to address the issue. Examples of such techniques are software watermarking, code obfuscation, and tamper detection. In this paper we present a novel dynamic software watermarking algorithm which incorporates ideas from code obfuscation and tamper detection. Our technique simultaneously provid...
متن کاملCase Study: Implementing a Java JIT Compiler in Haskell
We present a JVM prototype implemented in the purely-functional language Haskell. It exploits several features of the language, such as strong static typing to implement an intermediate representation, and abstraction mechanism to express machine code generation in the manner of a domain specific language. The compiler consists of (i) a pass to transform Java bytecode to a register-based interm...
متن کاملFIST: A Framework for Instrumentation in Software Dynamic Translators
Software dynamic translators (SDT) typically monitor, profile, and affect the execution of a program. Such systems have been used to build many useful applications, including dynamic code optimizers for binary machine code and Java bytecode, software security checkers, binary translators, code profilers and program introspection tools. While all of these systems use program instrumentation, the...
متن کاملTyped Intermediate Languages
Programs written in a typed language are guaranteed to satisfy the safety properties of the type system without runtime checks. A type system for an intermediate language allows static verification of safety properties independent of source languages, and opens up opportunities for advanced compiler optimizations. This paper surveys three major intermediate languages: Java bytecode, typed assem...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004